function [G,XY] = getgraphTree(nnod);
% creates the graph of "tree" topology with (nnod) nodes:

al = 0:2*pi/(nnod-1):2*pi-1e-10;
XY = [cos(al),0; sin(al),0]';
if nnod<6, [G,XY] = getgraphBus(nnod);
    %%%  2 branches
elseif nnod==6,G=sparse([1 2 3 6 6],[2 3 6 4 5],1,nnod,nnod);
elseif nnod==7,G=sparse([1 3 2 7 5 5],[2 2 7 5 4 6],1,nnod,nnod);
    %%%  3 branches
elseif nnod==8,G=sparse([1 3 2 8 8 6 6],[2 2 8 4 6 5 7],1,nnod,nnod);
elseif nnod==9,G=sparse([1 3 2 9 5 9 7 7],[2 2 9 5 4 7 6 8],1,nnod,nnod);
elseif nnod==10,G=sparse([1 3 2 10 5 5 10 8 8],[2 2 10 5 4 6 8 7 9],1,nnod,nnod);
elseif nnod==11,G=sparse([1 3 2 11 5 5 11 8 8 8],[2 2 11 5 4 6 8 7 9 10],1,nnod,nnod);
elseif nnod==12,G=sparse([1 3 2 12 5 5 5 12 9 9 9],[2 2 12 5 4 6 7 9 8 10 11],1,nnod,nnod);
elseif nnod==13,G=sparse([1 3 4 2 13 6 6 6 13 10 10 10],[2 2 2 13 6 5 7 8 10 9 11 12],1,nnod,nnod);
    %%%%  4 branches
elseif nnod==14,G=sparse([1 3 4 2 14 6 6 6 14 10 10 10 14],[2 2 2 14 6 5 7 8 10 9 11 12 13],1,nnod,nnod);
elseif nnod==15,G=sparse([1 3 4 2 15 6 6 6 15 10 10 10 15 14],[2 2 2 15 6 5 7 8 10 9 11 12 14 13],1,nnod,nnod);
elseif nnod==16,G=sparse([1 3 4 2 16 6 6 6 16 10 10 10 16 14 14],[2 2 2 16 6 5 7 8 10 9 11 12 14 13 15],1,nnod,nnod);
elseif nnod==17,G=sparse([1 3 4 2 17 6 6 6 17 10 10 10 17 14 14 14],[2 2 2 17 6 5 7 8 10 9 11 12 14 13 15 16],1,nnod,nnod);
elseif nnod==18,G=sparse([1 3 4 2 18 6 6 6 18 10 10 10 18 15 15 15 15],[2 2 2 18 6 5 7 8 10 9 11 12 15 13 14 16 17],1,nnod,nnod);
elseif nnod==19,G=sparse([1 3 4 2 19 6 6 6 19 11 11 11 11 19 16 16 16 16],[2 2 2 19 6 5 7 8 11 9 10 12 13 16 14 15 17 18],1,nnod,nnod);
elseif nnod==20,G=sparse([1 3 4 2 20 7 7 7 7 20 12 12 12 12 20 17 17 17 17],[2 2 2 20 7 5 6 8 9 11 10 11 13 14 17 15 16 18 19],1,nnod,nnod);
end
if nnod>5,
    G = spones(G+G');
    G = G-spdiags(diag(G),0,nnod,nnod);
end

G(9,8) = 1;
G(8,9) = 1;

